home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / TPUG Xtras / Xtras / termprog.d64 / 64 to 64 (.txt) < prev    next >
Commodore BASIC  |  2009-02-04  |  3KB  |  98 lines

  1. 0 OPEN2,2,0,CHR$(6)+CHR$(0):OPEN15,8,15
  2. 10 REM*****************************
  3. 20 REM*** SEND/RECIEVE          ***
  4. 30 REM*** BY JOE BOOTH   SEP83  ***
  5. 40 REM*** SEND AND REIEVE USING ***
  6. 50 REM*** TWO C64 THROUGHT THE  ***
  7. 60 REM*** PHONE LINES           ***
  8. 70 REM*** USING PROTOCAL SIMILAR***
  9. 80 REM*** TO STEVE PUNTER       ***
  10. 90 REM*****************************
  11. 100 :
  12. 110 REM >>>>>>>>>MENU<<<<<<<<<<<<<<
  13. 120 POKE53280,0:POKE53281,0:B=0
  14. 130 PRINT"[147]S[146]END OR R[146]ECIEVE OR E[146]XIT"
  15. 140 PRINT"SELECT (R/S/E):";
  16. 150 GETA$:IFA$<>"R"ANDA$<>"S"ANDA$<>"E"THEN150
  17. 160 PRINTA$:IFA$<>"E"THEN240
  18. 170 CLOSE2:CLOSE15:PRINT"GOODBYE!!!!"
  19. 180 PRINT"IF YOU HAVE ANY QUESTIONS OR"
  20. 190 PRINT"PROBLEMS WITH THIS PROGRAM,"
  21. 200 PRINT"CONTACT JOE BOOTH THROUGHT"
  22. 210 PRINT"ANY OF THESE BBS....."
  23. 220 PRINT"PSI-WORDPRO":PRINT"BURLINGTON BBS"
  24. 230 END
  25. 240 IFA$="R"THEN1000
  26. 250 GOTO500
  27. 260 REM>>>CONVERT A BYTE FOR SENDING<<<
  28. 270 REM A0=ASC(BYTE):A0$,A1$=OUTPUT OF THAT BYTE
  29. 275 CK=CK+A0
  30. 280 Z0=(INT(A0/16))+65:Z1=(A0-(Z0-65)*16)+65
  31. 290 A0$=CHR$(Z0):A1$=CHR$(Z1):RETURN
  32. 300 REM>>>DO THE OPPISITE CONVERT BACK<<<
  33. 310 REM A0$,A1$=INPUT FROM MODEM:A0=ASC(BYTE)
  34. 320 Z0=ASC(A0$)-65:Z1=ASC(A1$)-65
  35. 330 A0=Z0*16+Z1:CK=CK+A0:RETURN
  36. 340 REM>>>>WAIT, SEND BYTE<<<
  37. 345 GET#2,A$:IFA$<>"C"ANDA$<>"Z"THEN345
  38. 346 IFA$="Z"THEN2000
  39. 350 PRINT#2,A0$;:FORA=1TO40:NEXT
  40. 360 PRINT#2,A1$;
  41. 380 RETURN
  42. 390 REM>>>WAIT FOR BYTE,SEND SIGNAL<<<
  43. 395 GET#2,A$:IFA$<>""THEN395
  44. 400 T0=0:PRINT#2,"C";
  45. 410 GET#2,A0$:IFA0$<>""THEN420
  46. 412 IFT0>10THEN400
  47. 414 T0=T0+1:GOTO410
  48. 420 GET#2,A1$:IFA1$=""THEN420
  49. 430 RETURN
  50. 490 :
  51. 500 REM******************************
  52. 510 REM*** SEND WHATEVER ************
  53. 520 REM******************************
  54. 530 PRINT"NAME OF THE PROGRAM";:INPUTFL$
  55. 540 PRINT"[147]FILE : "FL$
  56. 550 PRINT"WHAT TYPE OF FILE IS IT:"
  57. 560 PRINT"P[146]ROGRAM":PRINT"S[146]EQ.":PRINT"W[146]ORD PRO":PRINT"U[146]SER"
  58. 570 PRINT"SELECT (P/S/W/U)"
  59. 580 GETA$:IFA$<>"P"ANDA$<>"S"ANDA$<>"W"ANDA$<>"U"THEN580
  60. 590 PRINT"[147]FILE : "FL$TAB(30)"TYPE : "A$:TY$=A$:PRINT:CK=0
  61. 600 IFTY$="W"THENTY$="P"
  62. 610 OPEN1,8,14,FL$+","+TY$+",R":INPUT#15,DS$:DS=VAL(DS$):IFDS<>0THEN
  63. 620 PRINT"STARTING TRANSMITTION":PRINT"BYTES SENT"
  64. 630 PRINT#2,TY$;:GET#2,A$:IFA$<>TY$THEN630
  65. 640 REM SEND
  66. 650 GET#1,A0$:IFA0$=""THENA0$=CHR$(0)
  67. 660 IFST<>0THEN680
  68. 670 A0=ASC(A0$):GOSUB260:GOSUB340:B=B+1:PRINTB"[157] [145]":GOTO650
  69. 680 GOSUB800:A0$="+":A1$="+":GOSUB340:CLOSE1:GOTO100
  70. 800 IFTY$<>"P"THENRETURN
  71. 810 FORZ9=1TO3:A0=0:GOSUB260:GOSUB340:NEXT:RETURN
  72. 1000 :
  73. 1010 REM******************************
  74. 1020 REM***   RECIEVE WHATEVER     ***
  75. 1030 REM******************************
  76. 1040 INPUT"NAME OF FILE";FL$
  77. 1045 PRINT"RECIEVING":PRINT"BYTES RECIEVE"
  78. 1050 GET#2,TY$:IFTY$<>"S"ANDTY$<>"P"ANDTY$<>"U"THEN1050
  79. 1055 FORA=1TO20:PRINT#2,TY$;:NEXT
  80. 1060 OPEN1,8,14,FL$+","+TY$+",W"
  81. 1070 INPUT#15,DS$:DS=VAL(DS$):IFDS<>0THEN3000
  82. 1080 GOSUB390:IFA0$="+"ANDA1$="+"THEN1120
  83. 1090 IFA0$<"A"ORA0$>"Q"THEN1300
  84. 1100 IFA1$<"A"ORA1$>"Q"THEN1300
  85. 1105 B=B+1:PRINTB"[157] [145]"
  86. 1110 GOSUB300:PRINT#1,CHR$(A0);:GOTO1080
  87. 1120 CLOSE1
  88. 1190 PRINT"PRESS RETURN TO CONTINUE"
  89. 1200 GETA$:IFA$<>CHR$(13)THEN1200
  90. 1210 GOTO100
  91. 1300 CLOSE1:PRINT"BAD TRANSMITTION"
  92. 1310 PRINT"TELLING SENDER TO ABORT..ONE MINUTE"
  93. 1320 PRINT#2,"Z":GET#2,A$:IFA$<>"O"THEN1320
  94. 1330 PRINT"SEND HAS BEEN NOTIFIED":GOTO1190
  95. 2000 PRINT#2,"O";:CLOSE1:PRINT"RECEIVER HAS REQUESTED"
  96. 2010 PRINT"ABORTING, REQUEST GRANTED":GOTO1190
  97. 3000 PRINT"DISK ERROR";DS:GOTO1300
  98.